package com.jdk.demo.list.linkedList;

import java.util.Deque;
import java.util.LinkedList;
import java.util.Queue;

public class Demo2 {

	public static void main(String[] args) {
		stack();
		queue();
		queue2();
	}

	// LinkedList作为栈的实现
	public static void stack() {
		LinkedList<String> stack = new LinkedList<String>();
		stack.push("abc");//压栈
		stack.peek();//获取最后一个压入栈的元素
		stack.pop();//弹出最后一个压入栈的元素
	}

	// LinkedList作为单向队列的实现
	public static void queue() {
		Queue<String> queue = new LinkedList<String>();
		queue.offer("abc");//队尾添加元素
		queue.peek();//队头获取元素
		queue.poll();//队头删除元素
	}

	// LinkedList作为双向队列的实现
	public static void queue2() {
		Deque<String> deque = new LinkedList<String>();
		deque.addFirst("abc");//队头添加元素
		deque.addLast("bcd");//队尾添加元素
		deque.getFirst();//队头获取元素
		deque.getLast();//队尾获取元素
		deque.removeFirst();//队头删除元素
		deque.removeLast();//队尾删除元素
	}

}
